home *** CD-ROM | disk | FTP | other *** search
/ Mac-Source 1994 July / Mac-Source_July_1994.iso / C and C++ / Text⁄Files / MakeWrite / MakeWrite Folder / MakeWrite.h next >
Encoding:
C/C++ Source or Header  |  1994-02-21  |  5.2 KB  |  234 lines  |  [TEXT/KAHL]

  1. # include    "ListEdit.h"
  2. # include    "MWMapInfo.h"
  3. # include    "MWMaca.h"
  4.  
  5.  
  6. /*
  7.  * # define debug    to enable debug output option
  8.  * # undef  debug    to disable debug output option
  9.  */
  10.  
  11. # undef    debug
  12.  
  13.  
  14. # define    cr        '\r'
  15. # define    enter    3
  16.  
  17.  
  18. /*
  19.  * Resource numbers
  20.  */
  21.  
  22. typedef enum                    /* alert/dialog numbers */
  23. {
  24.     aboutAlrtNum = 1000,    /* "About FaceLift..." alert */
  25.     msgeAlrtNum,
  26.     questAlrtNum,
  27.     paraDlogNum,
  28.     conflictAlrtNum,
  29.     noPeriodAlrtNum,
  30.     replaceAlrtNum
  31. };
  32.  
  33.  
  34. typedef enum
  35. {
  36.     fileMenuNum = 1000,
  37.     editMenuNum,
  38.     specialMenuNum,
  39.     tempMenuNum            /* used for yanking font names from system */
  40. };
  41.  
  42.  
  43. typedef enum            /* STR resource numbers */
  44. {
  45.     periodStrNum = 1000,    /* default periods list */
  46.     quoteStrNum                /* default quotes list */
  47. };
  48.  
  49.  
  50. typedef enum            /* STR# resource numbers */
  51. {
  52.     fontStrNum = 1000    /* standard font list */
  53. };
  54.  
  55.  
  56. # define    helpTextNum        1000    /* TEXT for help window */
  57.  
  58.  
  59. typedef enum        /* Undo operations */
  60. {
  61.     noUndo,            /* = "last op can't be undone" */
  62.     undoDelete,
  63.     undoInsert,
  64.     undoPaste,
  65.     undoFieldChg,
  66.     undoTyping,
  67.     undoMarkerOp
  68. };
  69.  
  70.  
  71. typedef enum        /* field numbers - don't change */
  72. {
  73.     markField = 0,
  74.     fontField,
  75.     sizeField,
  76.     styleField
  77. };
  78.  
  79.  
  80. # define    maxMappings    100
  81.  
  82. # define    extraMarks    2        /* number of special markers */
  83.  
  84. typedef enum                    /* special-marker indices */
  85. {
  86.     paraMarkIdx = maxMappings,    /* paragraph marker */
  87.     pageMarkIdx                    /* page break marker */
  88. };
  89.  
  90.  
  91. /*
  92.  * Paragraph style control
  93.  */
  94.  
  95. typedef struct
  96. {
  97.     Boolean    pEachLine;        /* each line is a paragraph */
  98.     Boolean    pBlankLine;        /* blank lines are paragraphs */
  99.     Boolean    pSmartJoin;        /* line-joining smart or not */
  100. } ParaStyle;
  101.  
  102.  
  103. # define    mwCreator    'MKWR'    /* map file creator */
  104. # define    mwType        'MMAP'    /* map file type */
  105. # define    mapVersion    2        /* current map file structure version */
  106.  
  107. /*
  108.  * Variable definitions
  109.  */
  110.  
  111. extern WindowPtr    mapWind;
  112.  
  113. extern LListPtr    mapList;
  114. extern MapSpec    mapSpec[];
  115.  
  116. extern Boolean    mapModified;
  117.  
  118. extern short        undoOp;
  119. extern short        undoVal;
  120. extern short        undoPos;
  121. extern short        undoFieldType;
  122. extern MapSpec    undoMSpec;
  123. extern Boolean    undoCPMarker;
  124.  
  125. extern Boolean    havePasteMSpec;
  126.  
  127. extern Boolean    cpMarker;
  128.  
  129.  
  130. extern ParaStyle    paraStyle;
  131. extern Str255        paraMark;
  132. extern Str255        pageMark;
  133. extern Str255        periodStr;
  134. extern Str255        quoteStr;
  135.  
  136. # ifdef    debug
  137. extern Boolean    debugOut;
  138. # endif
  139.  
  140. Boolean FindEmptyMark (void);
  141. void InitMarkStates (void);
  142. short CheckMarkers (char c);
  143. void FindConflicts (void);
  144.  
  145. void ResourceFonts (Boolean ask);
  146. void StrFonts (Boolean ask);
  147.  
  148. Boolean SetParaInfo (ParaInfo6 *p, short height, Byte status,
  149.                 long dataPos, short dataLen, short comFormats);
  150. Boolean WritePrelude (short f);
  151. Boolean WriteLineHeights (short f, short paraCount);
  152. Boolean WriteArrayInfo (short f, long seek, long piPos, short piLen,
  153.                                             long lhPos, short lhLen);
  154. Boolean WritePostlude (short f, short paraCount, PIAHandle paraInfo);
  155.  
  156. void ClearMapName (void);
  157. void SetMapName (StringPtr name);
  158. Boolean OpenMap (void);
  159. Boolean AddMap (void);
  160. Boolean SaveMap (Boolean askForName);
  161.  
  162. Boolean StatMSpec (MapSpec *mSpec);
  163. void SelectMapping (short lineNo);
  164. Boolean InsertMapping (MapSpec *mSpec, short n);
  165. void NewMapping (void);
  166. void DupMapping (short n);
  167. void PasteMapping (MapSpec *mSpec, short n);
  168. void DeleteMapping (short n);
  169. void ClobberMap (void);
  170. void SortMap (void);
  171. void SquishMap (void);
  172.  
  173. Boolean SetFontSpec (short fNum, StringPtr fName);
  174. void ResetFontList (void);
  175. void SyncFontSpecs (void);
  176. short FontIndex (short fontNum);
  177. void FontName (short fontIndex, StringPtr str);
  178. short SizeIndex (short size);
  179. void SetCPMarker (Boolean useMarker);
  180. void BlankCPCtrls (void);
  181. void MSpecToMark (MapSpec *m);
  182. void MarkerUndoSetup (void);
  183. Boolean EditMarker (short item);
  184. void SetMapFieldValue (short fieldType, short value);
  185. void SetSelectors (short lineNo);
  186. void MapSetup (void);
  187.  
  188. void MapSetup (void);
  189.  
  190. void FixMenus (void);
  191. void SetupMenus (void);
  192.  
  193. void CopyString (StringPtr src, StringPtr dst);
  194. void AppendString (StringPtr src, StringPtr dst);
  195. short CompareString (StringPtr s1, StringPtr s2);
  196. Boolean InString (StringPtr s, char c);
  197. Boolean    MouseClick (void);
  198. void MakeFrontWind (WindowPtr w);
  199. Boolean ExpandHandle (Handle h, Size delta);
  200. Boolean DiscardChanges (void);
  201. Boolean DestroyWarn (void);
  202. void Message (StringPtr s1, StringPtr s2, StringPtr s3, StringPtr s4);
  203. void Message1 (StringPtr s1);
  204. void Message2 (StringPtr s1, StringPtr s2);
  205. void Message3 (StringPtr s1, StringPtr s2, StringPtr s3);
  206.  
  207. void InitMSpec (MapSpec *mSpec);
  208. void TermMSpec (MapSpec *mSpec);
  209. void CopyMSpec (MapSpec *srcMSpec, MapSpec *dstMSpec);
  210. void ClearMSpec (MapSpec *mSpec);
  211. short CompareMark (StringHandle s1, StringHandle s2);
  212. short CompareMSpec (MapSpec *m1, MapSpec *m2);
  213. void MSpecToMStr (MapSpec *mSpec, MapStr *mStr);
  214. void FontToStr (short font, StringPtr str);
  215. void SizeToStr (short size, StringPtr str);
  216. void StyleToStr (short style, StringPtr str);
  217.  
  218. void InitParaStyle (void);
  219. void DoParaDialog (void);
  220.  
  221. void TextToWrite (void);
  222.  
  223. void DisplayWindow (StringPtr title, Boolean visible);
  224. void MeterPos (short h, short lineNo);
  225. void MeterString (StringPtr s);
  226. void MeterInt (short i);
  227. void StartMeterPercentInfo (void);
  228. void SetMeterPercent (short i);
  229. void MeterBegin (void);
  230. void MeterEnd (void);
  231. void ErrWindInit (StringPtr fName);
  232. void ErrWindMsge (StringPtr thing, short value);
  233. void HelpWindow (void);
  234.